package vista;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;

import javabean.JPanelImagen;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextField;

import javax.swing.ImageIcon;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import controlador.ControladorPrincipal;
import controlador.ControladorRegistrarPieza;


/**
 * This code was edited or generated using CloudGarden's Jigloo
 * SWT/Swing GUI Builder, which is free for non-commercial
 * use. If Jigloo is being used commercially (ie, by a corporation,
 * company or business for any purpose whatever) then you
 * should purchase a license for each developer using Jigloo.
 * Please visit www.cloudgarden.com for details.
 * Use of Jigloo implies acceptance of these licensing terms.
 * A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
 * THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
 * LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
 */
public class VentanaPrincipal extends javax.swing.JFrame {
	private JPanelImagen panImg; // PARA COLOCAR IMAGEN DE FONDO
	private JMenuItem itemReporteSalida;
	private JMenuItem itemReporteEntr;
	private JButton btnSalir;
	private JMenuItem itemCortes;
	private JLabel lblActivo;
	private JTextField txtUsuario;
	private JMenuItem itemSalir;
	private JMenuItem itemCerrarSesion;
	private JMenu menuSalir;
	private JMenuItem itemListadoConversion;
	private JMenuItem itemListadoCortes;
	private JMenu menuListados;
	private JMenuItem itemSalidasVentas;
	private JMenuItem itemMerma;
	private JMenuItem itemRegistarCortes;
	private JMenuItem itemRegistrarPieza;
	private JMenuItem itemCategoria;
	private JMenuItem itemConversion;
	private JMenu menuReportes;
	private JMenu menuSalidas;
	private JMenu menuEntradas;
	private JMenu jMenu1;
	private JMenuBar menu;
	private JMenuItem itemOrdenSalida;
	private JMenuItem itemSalidaMerma;
	private ControladorPrincipal controladorPrincipal;

	/**
	 * Auto-generated main method to display this JFrame
	 */


	{
		//Set Look & Feel
		try {
			javax.swing.UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
		} catch(Exception e) {
			e.printStackTrace();
		}
	}



	public void agregarListener(ActionListener accion){
		itemRegistrarPieza.addActionListener(accion);
		itemConversion.addActionListener(accion);
		itemCortes.addActionListener(accion);
		itemCerrarSesion.addActionListener(accion);
		itemSalir.addActionListener(accion);
		itemListadoConversion.addActionListener(accion);
	    itemListadoCortes.addActionListener(accion);
	    itemReporteEntr.addActionListener(accion);
	    itemReporteSalida.addActionListener(accion);
	    itemCategoria.addActionListener(accion);
	}


	public VentanaPrincipal(ControladorPrincipal controladorPrincipal) {
		super();
		this.controladorPrincipal = controladorPrincipal;
		initGUI();
	}
	
	
	public void setUsuario(String cod){
		txtUsuario.setText(cod);
	}

	public String getUsuario(){
		return txtUsuario.getText();
	}

	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);			
			this.setResizable(false); //NO REDIMENSIONAR LA VENTANA
			this.setTitle("Bienvenidos a Carnisoft");
			{
				menu = new JMenuBar();
				setJMenuBar(menu);
				{
					jMenu1 = new JMenu();
					menu.add(jMenu1);
					jMenu1.setText("Maestros");
					{
						itemConversion = new JMenuItem();
						jMenu1.add(itemConversion);
						itemConversion.setText("Conversion");
					}
					{
						itemCortes = new JMenuItem();
						jMenu1.add(itemCortes);
						itemCortes.setText("Cortes");
					}
					{
						itemCategoria = new JMenuItem();
						jMenu1.add(itemCategoria);
						itemCategoria.setText("Categoria");
					}
				}
				{
					menuEntradas = new JMenu();
					menu.add(menuEntradas);
					menuEntradas.setText("Entradas");
					{
						itemRegistrarPieza = new JMenuItem();
						menuEntradas.add(itemRegistrarPieza);
						itemRegistrarPieza.setText("Registrar Piezas");
					}
					{
						itemRegistarCortes = new JMenuItem();
						menuEntradas.add(itemRegistarCortes);
						itemRegistarCortes.setText("Registrar Cortes");
					}
				}
				{
					menuSalidas = new JMenu();
					menu.add(menuSalidas);
					menuSalidas.setText("Salidas");
					{
						itemMerma = new JMenuItem();
						menuSalidas.add(itemMerma);
						itemMerma.setText("Merma");
					}
					{
						itemSalidasVentas = new JMenuItem();
						menuSalidas.add(itemSalidasVentas);
						itemSalidasVentas.setText("Salidas por Ventas");
					}
				}
				{
					menuReportes = new JMenu();
					menu.add(menuReportes);
					menuReportes.setText("Reportes");
					{
						menuListados = new JMenu();
						menuReportes.add(menuListados);
						menuListados.setText("Listados");
						{
							itemListadoCortes = new JMenuItem();
							menuListados.add(itemListadoCortes);
							itemListadoCortes.setText("Listado de Cortes");
						}
						{
							itemListadoConversion = new JMenuItem();
							menuListados.add(itemListadoConversion);
							itemListadoConversion.setText("Listado de Conversiones");
						}
					}
					{
						itemReporteEntr = new JMenuItem();
						menuReportes.add(itemReporteEntr);
						itemReporteEntr.setText("Reporte de Piezas");
					}
					{
						itemReporteSalida = new JMenuItem();
						menuReportes.add(itemReporteSalida);
						itemReporteSalida.setText("Reporte de salidas");
					}
				}
				{
					menuSalir = new JMenu();
					menu.add(menuSalir);
					menuSalir.setText("Salir");
					{
						itemCerrarSesion = new JMenuItem();
						menuSalir.add(itemCerrarSesion);
						itemCerrarSesion.setText("Cerrar sesion");
					}
					{
						itemSalir = new JMenuItem();
						menuSalir.add(itemSalir);
						itemSalir.setText("Salir del sistema");
					}
				}
			}
			{
				panImg = new JPanelImagen();
				getContentPane().add(panImg, BorderLayout.CENTER);
				panImg.setLayout(null);
				panImg.setRutaImagen("/Imagenes/Carnisoft.png"); // SE CARGA LA IMAGEN DE FONDO 
				panImg.setPreferredSize(new java.awt.Dimension(744, 509));
				{
					txtUsuario = new JTextField();
					panImg.add(txtUsuario);
					txtUsuario.setBounds(565, 10, 130, 20);
					txtUsuario.setEditable(false);
					txtUsuario.setFont(new java.awt.Font("Dialog",1,12));
					txtUsuario.setForeground(new java.awt.Color(255,43,43));
				}
				{
					lblActivo = new JLabel();
					panImg.add(lblActivo);
					lblActivo.setText("Usuario:");
					lblActivo.setBounds(511, 9, 47, 16);
				}
			}
			pack();
			this.setSize(750, 560);
		} catch (Exception e) {
			//add your error handling code here
			e.printStackTrace();
		}
	}

}
